package com.mamba.microservice.context;

import org.slf4j.MDC;

/**
 * Copyright ©2020 360jinrong All Rights Reserved
 * 请添加类/接口的说明：
 *
 * @Package: com.mamba.microservice.context
 * @author: fangjin
 * @date: 2020年04月22日 11时40分
 */
public class ContextLogbackUtils {

    /**
     * 1.将生成请求的请求号加入到SLF4的MDC中，用于做分布式全链路的日志追踪
     */
    public static void addContext2MDC() {
        ServiceContext serviceContext = ServiceContext.getContext();
        MDC.put(ContextConstantKey.REQUEST_NO, serviceContext.getRequestNo());
    }

    /**
     * 从MDC清理对象
     * 防止内存泄露
     */
    public static void removeContextFromMDC() {
        MDC.remove(ContextConstantKey.REQUEST_NO);
    }
}
